package org.example.app.item.assembler;

import org.example.client.item.dto.clientobject.ItemCO;
import org.example.client.item.dto.cmd.ItemAddCmd;
import org.example.client.item.dto.cmd.ItemUpdateCmd;
import org.example.domain.item.entity.ItemEntity;
import org.example.infrastructure.item.gatewayimpl.database.dataobject.ItemDO;
import org.mapstruct.Mapper;

@Mapper(componentModel = "spring")
public interface ItemAssembler {

    ItemCO toCO(ItemEntity itemEntity);

    ItemCO toCO(ItemDO itemDO);

    ItemEntity toEntity(ItemAddCmd addCmd);

    ItemEntity toEntity(ItemUpdateCmd updateCmd);
}
